<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	<title>配置 Elasticsearch | ElasticSearch 7.7 权威指南中文版</title>
	<meta name="keywords" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <meta name="description" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <!-- Give IE8 a fighting chance -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
	<link rel="stylesheet" type="text/css" href="../static/styles.css" />
	<script>
	var _link = 'settings.html';
    </script>
</head>
<body>
<div class="main-container">
    <section id="content">
        <div class="content-wrapper">
            <section id="guide" lang="zh_cn">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12 col-sm-8 col-md-8 guide-section">
                            <div style="color:gray; word-break: break-all; font-size:12px;">原英文版地址: <a href="https://www.elastic.co/guide/en/elasticsearch/reference/7.7/settings.html" rel="nofollow" target="_blank">https://www.elastic.co/guide/en/elasticsearch/reference/7.7/settings.html</a>, 原文档版权归 www.elastic.co 所有<br/>本地英文版地址: <a href="../en/settings.html" rel="nofollow" target="_blank">../en/settings.html</a></div>
                        <!-- start body -->
                  <div class="page_header">
<strong>重要</strong>: 此版本不会发布额外的bug修复或文档更新。最新信息请参考 <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html" rel="nofollow">当前版本文档</a>。
</div>
<div id="content">
<div class="breadcrumbs">
<span class="breadcrumb-link"><a href="index.html">Elasticsearch 权威指南 [7.7]</a></span>
»
<span class="breadcrumb-link"><a href="setup.html">安装和设置</a></span>
»
<span class="breadcrumb-node">配置 Elasticsearch</span>
</div>
<div class="navheader">
<span class="prev">
<a href="brew.html">« 在MacOS上用Homebrew安装 Elasticsearch</a>
</span>
<span class="next">
<a href="jvm-options.html">设置 JVM 选项 »</a>
</span>
</div>
<div class="chapter">
<div class="titlepage"><div><div>
<h2 class="title">
<a id="settings"></a>
配置 Elasticsearch
</h2>
</div></div></div>
<p>
ElasticSearch 提供了的默认设置已经很好了，只需要很少的配置。
大多数配置都可以在运行中的集群上使用 <a class="xref" href="cluster-update-settings.html" title="集群更新设置 API">集群更新设置</a> API 修改。
</p>
<p>
配置文件应该包含特定于节点的设置(例如 <code class="literal">node.name</code> 和 路径)，或者 节点加入集群所需要的设置，比如<code class="literal">cluster.name</code> 和 <code class="literal">network.host</code>。
</p>
<h3>
<a id="config-files-location"></a>
配置文件的位置
</h3>
<p>
Elasticsearch 有三个配置文件：
</p>
<div class="ulist itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
 <code class="literal">elasticsearch.yml</code>: Elasticsearch 配置文件
</li>
<li class="listitem">
<code class="literal">jvm.options</code>: Elasticsearch JVM 配置文件
</li>
<li class="listitem">
<code class="literal">log4j2.properties</code>: Elasticsearch 日志配置文件
</li>
</ul>
</div>
<p>
这些配置文件位于配置目录，这个目录的默认位置取决于安装来源是 归档的发行版(<code class="literal">tar.gz</code> 或 <code class="literal">zip</code>) 还是 安装包的发行版(Debian or RPM packages)。
</p>
<p>
对于 归档的发行版，配置目录默认位于 <code class="literal">$ES_HOME/config</code>。
配置目录可以通过环境变量 <code class="literal">ES_PATH_CONF</code> 来修改，比如：
</p>
<div class="pre_wrapper lang-sh">
<pre class="programlisting prettyprint lang-sh">ES_PATH_CONF=/path/to/my/config ./bin/elasticsearch</pre>
</div>
<p>
或者，你可以通过 命令行 或 shell 配置文件<code class="literal">导出(export)</code> 环境变量<code class="literal">ES_PATH_CONF</code>。
</p>
<p>
对于 安装包的发行版，配置目录默认位于 <code class="literal">/etc/elasticsearch</code>。

配置目录也可以通过环境变量 <code class="literal">ES_PATH_CONF</code> 来修改，但是请注意，光是在 shell 中设置时不够的。

相反，这个变量来源于 <code class="literal">/etc/default/elasticsearch</code>(Debian安装包) 和 <code class="literal">/etc/sysconfig/elasticsearch</code>(RPM安装包)。

你还需在其中一个文件中编辑<code class="literal">ES_PATH_CONF=/etc/elasticsearch</code>记录，以更改配置目录的位置。
</p>
<h3>
<a id="_config_file_format"></a>
配置文件格式
</h3>
<p>
配置文件的格式是 <a href="http://www.yaml.org/" class="ulink" target="_top">YAML</a>。

下面是一个修改数据和日志目录路径的示例：
</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">path:
    data: /var/lib/elasticsearch
    logs: /var/log/elasticsearch</pre>
</div>
<p>
设置还可以像这样展开：
</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch</pre>
</div>
<h3>
<a id="_environment_variable_substitution"></a>
环境变量替代 (Environment variable substitution)
</h3>
<p>
配置文件中的<code class="literal">${...}</code>符号引用的环境变量将被替换为环境变量的值。比如：
</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">node.name:    ${HOSTNAME}
network.host: ${ES_NETWORK_HOST}</pre>
</div>
<p>
环境变量的值必须是简单字符串。

使用逗号分隔的字符串提供的值，将被 ElasticSearch 解析为一个列表。

例如，Elasticsearch 会将以下字符串拆分为<code class="literal">${HOSTNAME}</code>环境变量的值列表：
</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">export HOSTNAME=“host1,host2"</pre>
</div>
<h3>
<a id="cluster-setting-types"></a>
集群和节点设置类型
</h3>
<p>
可以根据集群和节点设置的配置方式对它们进行分类：
</p>
<div class="variablelist">
<a id="dynamic-cluster-setting"></a>
<dl class="variablelist">
<dt>
<span class="term">
动态 (Dynamic)
</span>
</dt>
<dd>
<p>
可以使用 <a class="xref" href="cluster-update-settings.html" title="Cluster update settings API">集群更新设置 API</a> 配置和更新正在运行的集群上的动态设置。
</p>
<p>
您还可以使用 <code class="literal">elasticsearch.yml</code> 在未启动或关闭的节点上本地配置动态设置。
</p>
<div class="tip admon">
<div class="icon"></div>
<div class="admon_content">
<p>
最好使用 集群更新设置API 来设置动态的、集群范围的设置，并且只对本地配置使用<code class="literal">elasticsearch.yml</code>。
使用 集群更新设置API 可以确保所有节点上的配置都是相同的。

如果你意外地在不同节点上的配置文件<code class="literal">elasticsearch.yml</code>中设置了不同的配置，则很难注意到差异。
</p>
</div>
</div>
</dd>
</dl>
</div>
<div class="variablelist">
<a id="static-cluster-setting"></a>
<dl class="variablelist">
<dt>
<span class="term">
静态 (Static)
</span>
</dt>
<dd>
<p>
静态设置只能在未启动或关闭的节点上使用<code class="literal">elasticsearch.yml</code>进行配置。
</p>
<p>
必须在集群中的每个相关节点上设置 静态设置。
</p>
</dd>
</dl>
</div>





























</div>
<div class="navfooter">
<span class="prev">
<a href="brew.html">« 在MacOS上用Homebrew安装 Elasticsearch</a>
</span>
<span class="next">
<a href="jvm-options.html">设置 JVM 选项 »</a>
</span>
</div>
</div>

                  <!-- end body -->
                        </div>
                        <div class="col-xs-12 col-sm-4 col-md-4" id="right_col">
                        
                        </div>
                    </div>
                </div>
            </section>
        </div>
    </section>
</div>
<script src="../static/cn.js"></script>
</body>
</html>